A digital multi-function peripheral, as an example of a data processing apparatus, has a plurality of functions such as a printer function, a scanner function, a copier function, and a fax function, and program data, etc., of firmware or software for controlling these functions are stored in a storage means such as a flash memory. When it becomes necessary to enhance or change the function, a serviceman, etc., replaces an old functional board with a new one or performs a job of rewriting the program data.
With respect to such kind of job, for example, Japanese Laid-Open Patent Publication No. H09-167094 discloses a data processing apparatus, etc., capable of adding or changing the function efficiently at a predetermined timing.
Japanese Laid-Open Patent Publication No. 2001-243155 discloses a network managing apparatus, etc., that manages a program of each device connected to a network and has the program updated as required.
Further, Japanese Laid-Open Patent Publication No. 2004-110396 discloses a printer managing system, etc., that, at the time of updating firmware of a printer, enables automatically updating a plurality of pieces of firmware together.
However, in such conventional technologies as described above, a program is acquired from the outside only after the time has come for updating the program and therefore, in the case of acquiring an updating program from a managing server by way of the network, there are cases in which the program can not be supplied or acquired at the time of updating the program, depending on the condition of the managing server, the condition of the network, and the condition of the data processing apparatus, for example, a large quantity of data being processed or power not being turned on. The conventional technologies have no mechanism for keeping an old version of the program and therefore, once the program is updated with the latest program, the previous program must be reacquired as a latest program in the case of bringing the program back to the previous program.